package com.fjwt.gz.service.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.fjwt.gz.db.dto.AwardMchDTO;
import com.fjwt.gz.db.dto.MchDestroyDTO;
import com.fjwt.gz.db.entity.AwardMchEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 奖品可核销商户对应关系表/商户活动渠道表 Mapper 接口
 * </p>
 *
 * @author shiyonghao
 * @since 2025-04-09
 */
public interface AwardMchMapper extends BaseMapper<AwardMchEntity> {


    /**
     * 查询卡券可核销商户列表
     *
     * @param iPage
     * @param couponId  卡券id
     * @param mchNo     商户号
     * @return
     */
    IPage<AwardMchEntity> getMchDestroyList(IPage iPage, @Param("awardMchDTO") AwardMchDTO awardMchDTO);

    /**
     * 查询卡券可核销商户列表
     * @param couponId 卡券id
     * @param mchNo 商户号
     * @return
     */
    List<AwardMchEntity> getMchDestroyList(@Param("awardMchDTO") AwardMchDTO awardMchDTO);


    /**
     * 批量添加卡券核销商户
     *
     * @param couponId  卡券id
     * @param mchArray  商户号集合
     * @param awardType
     * @return
     */
    int saveMchList(@Param("couponId") Long couponId, @Param("mchArray") List<MchDestroyDTO> mchArray,
                    @Param("awardType") Integer awardType);

    /**
     * 批量更新商户对应的微信间连号
     * @param newList
     */
    void updateBatchWechatSubmerchantNoByMchNo(List<AwardMchEntity> newList);
}
